The present invention relates to a storage system having a plurality of storage devices such as disk drives and, particularly, to a control technique for speeding up writing data sent from a host system such as a computer.
In a typical storage system having a plurality of storage devices, high speed data reading and data writing have heretofore been achieved by temporarily storing data sent and received between a host system and the storage devices in a cache memory such as a semiconductor memory. For example, in the case of writing data sent from the host system, the storage system temporarily stores the data in the cache memory and, at this time point, informs the host system about a completion of the data writing. After that, the storage system actually writes the data stored in the cache memory in the storage devices independently of operation of the host system.
In the case where a speed of sending and receiving data in the storage system is increased by the use of the cache memory as described above, the storage system informs the host system about the completion of data writing when the data is temporarily written in the cache memory though the data has not been written in the storage devices. Therefore, if the data in the cache memory are lost before the data are written in the storage devices due to a failure in the cache memory or the like, it is unable to recover the data. In view of this problem, JP-A-2001-318766 and JP-A-9-146842 disclose a technique of duplicating a cache memory (or a control unit including the cache memory) of a storage system and writing data in both of the cache memories for the purposes of reducing probability of the data loss and improving reliability of the storage system.
Also, a technique of preventing the data loss by the use of a nonvolatile cache memory or a more redundant nonvolatile cache memory is disclosed on pages 88 to 89 in IBM Total Storage Enterprise Storage Server Model 800 (IBM Redbooks, SG24-6424-01, Second Edition (October 2002), IBM Corp., ISBN 0738428256).